#include <linux/module.h>
#include <linux/interrupt.h>
#include <linux/delay.h>

static void tasklet_test_handler(unsigned long dat)
{
	printk("%s Start.\n", __FUNCTION__);
	mdelay(1000);
	printk("%s Done.\n", __FUNCTION__);
}

DECLARE_TASKLET(tasklet_test_struct, tasklet_test_handler, 0);

static int __init tasklet_test_init(void)
{
	printk("%s Start.\n", __FUNCTION__);
	tasklet_schedule(&tasklet_test_struct);
	printk("%s Done.\n", __FUNCTION__);

	return 0;
}

static void __exit tasklet_test_exit(void)
{
	tasklet_kill(&tasklet_test_struct);
	printk("%s Done.\n", __FUNCTION__);
}

module_init(tasklet_test_init);
module_exit(tasklet_test_exit);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("YYW");
